const fs = require('fs')

// 生成数据的可读流
let rs = fs.createReadStream('test.txt', {
  highWaterMark: 4,
})

// 消费数据的可写流
let ws = fs.createWriteStream('pipe.txt', {
  highWaterMark: 1,
})

let flag = true
// rs.on('data', (chunk) => {
//   flag = ws.write(chunk, () => {
//     console.info('write done')
//   })
//   // 缓存区满了,先别生产数据了
//   if (!flag) {
//     rs.pause()
//   }
// })

// 缓存区有空间接纳新数据,执行 drain 事件
// ws.on('drain', () => {
//   rs.resume()
// })

rs.pipe(ws)
